#!/bin/bash
########################################################################
# script name: 	ssh_exec
# Used for:	execute string or script on every machine specified in list_hosts
# Author:       Martin Dumont
# Contributors:
# Version:      0.1
#
# (date format: date +'%Y/%m/%d')
#
# Date          Version Contributors    Modifications
# ----------    ------- ------------    -------------
# 2011/02/01    0.1     MDUMONT         initial
########################################################################
#######################################
# ENV
#######################################
if [[ -f $HOME/scripts/env ]]; then . $HOME/scripts/env; else echo "No env library ( $HOME/scripts/env)"; exit 1; fi
#######################################
# MAIN
#######################################
TMPSCRIPT="/tmp/${RANDOM}_`date +'%Y%m%d%H%M'`"
if [[ $1 = "" ]]
then
	cat > $TMPSCRIPT
 	$0 $TMPSCRIPT
else
	if [ -f $1 ]
	then
		echo "Script is $TMPSCRIPT"
		echo "Log file is ${TMPSCRIPT}.log"
		echo "(" > $TMPSCRIPT
		#######################################
      # Sourcing the enva inside the script
      #######################################
     	echo ". $HOME/scripts/env" >> $TMPSCRIPT
      #######################################
     	# Refreshing the key in the ssh agent
      #######################################
      echo "agent_check" >> $TMPSCRIPT
      #######################################
		# starting the script
      #######################################
		SCRIPT=$1
		ID=1
		for HOST in `list_hosts_aix`
		do
			(
			echo "echo -e \"#-----------------------------------------------------------------#\""
			echo "cat $SCRIPT | ssh -q $HOST \"cat - | sh\" | sed 's/^/$ID - $HOST : /g'"
			) >> $TMPSCRIPT
			((ID++))
		done
		echo "rm ${TMPSCRIPT}" >> $TMPSCRIPT
		echo ") | tee ${TMPSCRIPT}.log" >> $TMPSCRIPT
		chmod 755 $TMPSCRIPT
	else
		echo "Script $1 doesn't exist"
	fi
fi
